Memory is required for any device that stores instructions and/or data. Memory can either be classified as volatile or nonvolatile. Volatile memory is memory that loses its contents when the power is turned off. In contrast, non-volatile memory may not require a continuous power supply to retain information. Non-volatile memories may use solid-state memory devices as memory elements.
One type of volatile memory is random access memory (RAM). As the name suggests, RAM may be accessed in any order so long as the address, or intersecting row (word line) and column (bit line), of the desired cells are known.
There are several kinds of RAM. One type is dynamic random access memory (DRAM). DRAM is named for its refresh operation. In DRAM, a transistor and capacitor are used to create a memory cell. The capacitor holds electrons that represent a bit of data (i.e., a 1 or a 0), while the transistor is used as a switch to read the capacitor or to change its state. However, the capacitor begins to lose the electrons immediately and uses the refresh procedure, prior to the electrons discharging past the 50% mark, to hold a state of 1. That is, the central processing unit (CPU), or a memory controller, may be used to charge the capacitors that have a state of 1. This refreshing operation allows the capacitors to maintain that high state while actively discharging. Refreshing occurs automatically thousands of time per second, and consumes CPU time and resources.
DRAM may be configured to use Direct Memory Access (DMA) to write to the memory. DMA is a method of writing to a device without passing through a CPU. The data may be sent directly through a physical DMA channel to the memory; the CPU is not involved. This method of memory writing is more efficient than the Program Input Output (PIO) method in which the CPU manages the data transfer. However, the Row Address Signal/Column Address Signal (RAS/CAS) multiplexing creates some overhead.
Since the DRAM circuit is small, many bits may be stored on a single chip making DRAM relatively inexpensive. The relative inexpensiveness of DRAM accounts for its widespread use as computer system RAM. However, the refreshing operation may make DRAM less efficient, and thus slower, and draw more power than other RAM types.
Another type of volatile RAM is static random access memory (SRAM). SRAM stores each bit of data in a flip-flop circuit. The flip-flip circuit may include a group of transistors (e.g., 4 to 6 transistors) and the corresponding wiring, taking up more space than the DRAM circuit. In some embodiments, a large current may be used to overcome the impedance of the circuitry and wiring. SRAM may be configured to use DMA to access the memory directly. The direct access and the lack of a refreshing operation make SRAM faster than DRAM. However its larger circuit size may consume more space providing fewer memory cells per chip, making SRAM more expensive per chip than DRAM.
Non-volatile memory may be referred to as FLASH memory, and uses solid state technology that can still be randomly accessed. Non-volatile RAM may use a battery to draw power to maintain the data. For example, a car radio uses non-volatile RAM to store preset radio stations. The stored preset stations are maintained when the car is turned off, but are lost if the car battery dies. The non-volatile RAM draws power from the battery to maintain the data values. Non volatile memory cards differ from non-volatile RAM in that non-volatile memory cards do not lose data upon power loss. Neither non-volatile RAM nor non-volatile memory cards use a refreshing operation. However, non-volatile RAM (e.g., FLASH memory) and non-volatile memory cards (e.g., FLASH memory cards such as SD™ card) utilize an erase operation prior to writing. That is, non-volatile memory is not able to perform consecutive, or back to back, write operations. Data must be erased prior to the next write. A block of data may be erased at one time using one action, or one “flash.” It is from this erase process that the name “FLASH memory” was drawn. The erase process also causes non-volatile RAM and non-volatile memory cards to be too-slow for widespread use, but useful in certain applications, for example as a portable data storage option.
Thus, volatile DRAM is inexpensive, volatile SRAM is fast, Non-volatile RAM retains values when the power is turned off, and a non-volatile memory card is portable and retains values through a power loss. As a result, manufacturers may use a combination of these memory types to be able to offer users differing functionality. For example, an image capture device or a device that includes image capture functionality (e.g., a cell phone) may include several memory types that support device and/or image capture functions, such as DRAM, SRAM, FLASH, and EEPROM. However, mixing memory types may have drawbacks including but not limited to circuitry and software necessary to support interfacing a CPU and/or a memory controller with the various memory types, the extra PC board space required to support each memory type and its associated hardware, increased power consumption and heat dissipation created by multiple memory types, just to name a few. For portable electronic devices, reducing power consumption to extend battery life is a major design goal. There are continuing efforts to improve memory technology in image capture devices.
Although the previous Drawings depict various examples of the invention, the invention is not limited by the depicted examples. Furthermore, the depictions are not necessarily to scale.